package com.tedu.day02.oop;
/**
 * final关键字---最终
 * 作用：修饰类、属性【普通属性|成员变量】、方法
 * 1.final修饰的类---不可被继承，但正常创建对象
 * 语法：修饰符final class 类名{}
 * 典型final类：String字符组
 * 2.final修饰方法：不可以重写，但是可以重载【锁死】
 * 【锁死】：一般用final修饰方法目的：锁死方法，防止继承他的类修改（覆盖）他
 * 语法：修饰符 final 返回值 方法名(){}
 */
//final class Eunuch{}
//class People extends Eunuch{}
class People{
    public /*final*/ void test(){  //方法：final   重写失败  锁死【不能被重写】
        System.out.println("父亲---重写");
    }
}
class Man extends People{
   // public void test(){
   //     System.out.println("子类---重写");
   // }
    public void test(int i,int j){ //重载：不受final方法控制
        System.out.println("子类---重载");
    }
}
class WoMan extends Man{  //锁死方法，防止多层继承：重写[覆盖]方法
   // public void test(){
   //     System.out.println();
   // }
}

public class Final关键字 {
    public static void main(String[] args){
        Man man=new Man();
        man.test(); //final修饰方法【来自父亲】
        man.test(1,1); //重载【拓展：不改变原来的方法】
    }
}
